Java String.replaceAll 正则表达式
全部标签 我正在尝试在javascript中为英国银行分类代码创建正则表达式,以便用户可以输入6位数字,或6位数字对之间有一个连字符。例如“123456”或“12-34-56”。也不是所有的数字都可以为0。到目前为止,我有/(?!0{2}(-?0{2}){2})(\d{2}(-\d{2}){2})|(\d{6})/和这个jsFiddletotest.这是我的第一个正则表达式,所以我不确定自己是否做对了。对6个0位数字的测试应该会失败,我认为前瞻中的-?可选连字符会导致它将其视为与带有连字符的6个0位数字相同,但事实并非如此。如果我做的完全不正确,我会很感激一些帮助和任何批评!
这个问题在这里已经有了答案:CommentingRegularExpressions(6个答案)关闭3年前。当字符串传递给RegExp构造函数时,内联注释起作用:RegExp("foo"/*bar*/).test("foo")但不是用表达式。JavaScript中是否有任何等效项或替代项来模拟x-mode对于RegExp对象?
我有一个密码中的盒子元素我的html正文当用户单击注册表单中的提交按钮时,我可以获取javascript来确定用户在密码框中键入的字符串是否为字母和/或数字的组合使用以下代码$("#password1").val().match(newRegExp(/[a-zA-Z1-9]{1,}/));但是,当我尝试使用下面的表达式时,它返回“null”,这给我的印象是POSIX表达式在javascript中不受支持……或者是我遗漏了什么?$("#password1").val().match(newRegExp(/[[:alnum:]]{1,}/)); 最佳答案
给出:varregexp=newRegExp("","g");在javascript中,将变量分配给与.*匹配的任何内容的最简单方法是什么?我可以这样做,但是有点难看:myString.match(regexp).replace("",""); 最佳答案 JavaScript应该在正则表达式匹配时返回一个数组对象,其中数组的零索引是匹配的整个字符串,后面的索引是捕获组。在您的情况下,类似于:varmyVar=regexp.exec(myString)[1];应将(.*?)捕获组的值分配给myVar。
我正在开发的一个应用程序让用户以明文形式输入内容,这些内容稍后将显示为HTML。为了让用户的内容尽可能的好看,我们对内容进行如下改造:由两个或多个换行符分隔的任何文本block都包含在标记中。新行字符(以及中间的任何空格)被删除。任何单个换行符(以及周围的空格)都被标记替换。我目前通过将文本放入两个正则表达式替换来实现这一点,但想知道是否可以将其合并为一个。这是我现在拥有的(JavaScript)://contentholdsthetexttoprocesscontent=''+content.replace(/\n([\t]*\n)+/g,'').replace(/\n/g,'')+
我正在尝试在anarchycodegolf上欣赏一些很棒的javascriptcodegolf提交,但我一直看到如下内容:for(;s=readline();)print("h"+/t.*/(s))...这是JS获胜者:http://golf.shinh.org/p.rb?ttp我不明白这是如何正确的javascript语法,我什至尝试重新提交它,但它说对象不是函数,这与我期望发生的事情一致。这是某种故障或简写还是旧JavaScript版本中的某种东西? 最佳答案 Wasthissomekindofglitchorshorthand
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Canadapostalcodevalidation我需要javascript正则表达式来验证加拿大邮政编码。加拿大的邮政编码格式为“A1A1X1”或“a1a1x1”。但是,它不包括字母D、F、I、O、Q或U。我在这里发现的很少,但那些是在C#中。
如何在JavaScript中使用正则表达式检查有效域名和用户名?functionvalidate(){varpatt1=newRegExp(/^[a-zA-Z0-9._-]+\\[a-zA-Z0-9.-]$/);vartext=document.getElementById('text1').value;alert(patt1.test(text));}但这对我不起作用。 最佳答案 functionCheckIsValidDomain(domain){varre=newRegExp(/^((?:(?:(?:\w[\.\-\+]?)*
如何替换文本文件中两个引号之间的所有输入。第一个引号前面总是有一个制表符,或者它是行(csv文件)中的第一个字符。我尝试了以下正则表达式/(\t"|^")([^"]*)(\n)([^"]*")/gm但是这个正则表达式只匹配两个引号之间的第一个输入,而不是全部。例如下面的文字:xx"xxxxxx"xx"xx"xxxx"xxxxxxxx"应该变成xx"xxxxxx"xx"xx"xxxx"xxxxxxxx"我阅读了以下帖子(javascriptregexreplacespacesbetweenbrackets)非常相似,但正则表达式表明在我的情况下不可用。 最佳答
我正在检查一个字段是否为拉丁字符。varforeignCharacters=$("#foreign_characters").val();varrlatins=/[\u0000-\u007f]/;if(rlatins.test(foreignCharacters)){alert("ThisisLatinCharacters");}else{alert("Thisisnon-latinCharacters");}这很好用,但我想更改它,所以当我输入任何非拉丁字符(例如汉字)以及一个空格(在我当前使用的范围内)时,它仍然会说它是非拉丁字符。我怎样才能改变我必须做的正则表达式?